home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- #ifndef _TIME_SLOT_
- #define _TIME_SLOT_
-
- #include <Vk/VkComponent.h>
-
- enum TimeSlotReason { TS_none, TS_textChanged, TS_textCleared, TS_dateSelect,
- TS_traverseForward, TS_traverseBackward };
-
- typedef struct {
- class TimeSlot *obj;
- TimeSlotReason reason;
- } TimeSlotCallback;
-
- class TimeSlot : public VkComponent {
- public:
- TimeSlot();
- ~TimeSlot();
-
- virtual const char* className();
- virtual void build(Widget parent);
-
- int start() { return _start; }
- int length() { return _length; }
- void setTimeInterval(int start, int length);
- Boolean dirty() { return _dirty; }
- void setCallback(XtCallbackProc proc, XtPointer client_data);
- void *data() { return _data; }
- void setData(void *d) { _data = d; }
- char *getText();
- void setText(char *str);
- void enableDateSelect();
- void disableDateSelect();
- void afterSwitchScheme();
- void setTextFocus();
-
- protected:
- void redisplay();
- void textChanged();
- void dateSelect();
- void traversal(XEvent *event);
-
- static void text_activate(Widget w, XtPointer client_data,
- XtPointer call_data);
- static void text_focus_lost(Widget w, XtPointer client_data,
- XtPointer call_data);
- static void text_modify(Widget w, XtPointer client_data,
- XtPointer call_data);
- static void date_select(Widget w, XtPointer client_data,
- XtPointer call_data);
-
- Widget dateButton, text;
- int _start, _length;
- Boolean _dirty;
- XtCallbackProc callback;
- XtPointer callbackData;
- void *_data;
- Boolean dateSelectEnabled;
- Pixel normalBg, dateTop, dateBottom, dateBg, dateArm;
- };
-
- #endif
-